package com.ruoyi.lxy.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 路线业务对象 t_route
 *
 * @author ruoyi
 * @date 2023-08-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TRouteBo extends BaseEntity {

    /**
     * 路线表
     */
    @NotNull(message = "路线表不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 对应项目id
     */
    private Long projectId;

    /**
     * 旅行社id
     */
    // @NotNull(message = "旅行社id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long travelagenId;

    /**
     * 路线名
     */
    @NotBlank(message = "路线名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 描述
     */
    @NotBlank(message = "描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String content;

    /**
     * 注意事项
     */
    private String notice;

    /**
     * 链接详情地址
     */
    private String url;

    /**
     * 0省内,1省外,2国外
     */
    @NotNull(message = "0省内,1省外,2国外不能为空", groups = { AddGroup.class, EditGroup.class })
    private String area;
    private Integer areaCode;
    /**
     * 预算
     */
    private Long budget;

    /**
     * 携带家属,0允许,1不允许
     */
    // @NotNull(message = "携带家属,0允许,1不允许不能为空", groups = { AddGroup.class, EditGroup.class })
    private String canBring;
    private Integer canBringCode;


    /**
     * 是否专属
     */
    // @NotNull(message = "是否专属不能为空", groups = { AddGroup.class })
    private String allowUnified;
    private Integer allowUnifiedCode;
    /**
     * 专属部门id
     */
    private String departmentNo;

    /**
     * 状态
     */
    private String status;
    private Integer statusCode;
    /**
     * 照片集,oss
     */
    private String pic;


    //教职工投票数
    private Integer votes;

    //对应问卷id
    private Long questionnaireId;

    private String startTime;
    private String endTime;
    //路线未通过原因
    private String noPassReason;
}
